if(this.myPlugin === undefined) {
    this.myPlugin = {};
}

/**
 * 对象克隆，支持数组、对象、函数、基本类型
 * @param {*} obj 要克隆的对象
 * @param {boolean} deep 是否深度克隆
 * @returns 克隆后的新对象
 */
this.myPlugin.clone = function(obj,deep) {
    if(Array.isArray(obj)){
        if(deep) {
            let newArr = [];
            for(let i = 0; i < obj.length; i++) {
                newArr[i] = this.clone(obj[i],deep);// 如果是深克隆，递归调用
            }
            return newArr;
        }else {
            return obj.slice();
        }
    }
   else if(typeof obj === 'object' && obj !== null) {
        // 如果是对象
        let newObj = {};
        for(let prop in obj) {
            if(deep) {
                newObj[prop] = this.clone(obj[prop],deep); // 如果是深克隆，递归调用
            }else {
                newObj[prop] = obj[prop];
            }
        }
        return newObj; // 返回新对象
    }
    else {
        return obj; // 函数、基本类型，直接返回;递归的返回条件
    }
}